AnimateDiff × prompt travelで一貫性のある表情差分を作る
https://gyazo.com/dbf2c60d457434bccb4428108bb31164
AnimateDiffは時間的整合性をもったアニメーションが作れる
= キャラクターの特徴を保持したままその他の部分を変化させられる
一貫性のある表情差分が作れるのでは?nomadoor.icon
ComfyUI_workflow
https://gyazo.com/0159f47a11d1d3c5c0000e9a2d825df7
AnimateDIff-Facial_Expressions diff.json
https://gyazo.com/573d9b8dbcd2980f7f24d8a74b5e924ehttps://gyazo.com/ba9285f5eb7ad2928d435a3d633374a2
単純なComfyUIでAnimateDiff × prompt travelの形
ControlNetのimage入力には右のopenposeを32枚複製して入れる
VHS_DuplicateImagesノードなるものがあったのでこれで複製できる
→ AnimateDiff × prompt travelで一貫性のある表情差分を作る#653d233be2dacc00003e6036
IP-Adapterはオプション
プロンプトは以下を参考にした
Coherent Facial Expressions ComfyUI improved edition
32フレームを4つの表情に変化させていく
https://gyazo.com/3ce6c421345a5f6b09a4e3276c358adc
LatentFromBatchノードで良さげなフレームを選択
対応するプロンプトを入れて低めのDenoising StrengthでHires.fixする
いいところ
32枚生成しているので好きな表情を選べる
表情が移り変わるときの微妙な表情が作れる
だめなところ
パラメータの調整がシビア
特にプロンプトとADE_AnimateDiffUniformContextOptionsの部分
AnimateDiff特有の生成される絵がぼやける欠点が引き継がれる
Hires.fixで多少マシになる
顔部分のみinpaintingするver
https://gyazo.com/71332bcc74fe03ab55d683fad764669dhttps://gyazo.com/9ca29809f5b3da093af7fcecf8fd5f52
https://gyazo.com/2b504756a8b6dcc63004a4d5e647102c
facial_expression-animatediff-inpainting.json
HQ-SAMで顔部分をマスクしてinpaintingする
顔部分しか変化しないのでこちらの方が使いやすい場面は多いかも
入力画像は別で用意してもらうver
https://gyazo.com/3132450fe538bb12736a9b19c1cec50fhttps://gyazo.com/0bc026c5349cfc48d21ca9041b7106a3
https://openart.ai/workflows/nomadoor/create-coherent-facial-expression-differences-using-animatediff-prompt-travel/nrKSraacr0jhSUNKtRzffacial_expression-animatediff.json
AnimateDiff、というかtext2videoの技術が上がっていけば使いやすくなるテクニックなので、他にも応用が効くかもしれないnomadoor.icon